# 可迭代对象 ：1.生成器 2.列表 3.元组 4.字典 5.集合
# 如何判断一个对象是否可迭代
from collections.abc import Iterable

list1 = [1, 4, 7, 8, 8]
f = isinstance(list1,Iterable)
print(f)

f = isinstance('abc',Iterable)
print(f)

f = isinstance(123,Iterable)
print(f)

g = (x+1 for x in range(10))
f = isinstance(g,Iterable)
print(f)
print('**************')
'''
可以被next()函数调用并不断返回下一个值的对象称为迭代器：Iterator。
可以使用isinstance()判断一个对象是否是Iterator对象：

可迭代的 是不是肯定就是 迭代器?
    生成器是可迭代的，也是迭代器
    list是可迭代的，不是迭代器
'''
list1 = [1, 2, 3, 4, 5]
# print(next(list1))
# print(next(list1))

list1 = iter(list1) #将可迭代对象转换为迭代器
print(next(list1))
print(next(list1))